FROM python:3.11-slim

# 设置工作目录
WORKDIR /app

# 设置环境变量
ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    # 允许的跨域来源列表（可选，逗号分隔，默认为 "*"）
    # 示例: ALLOWED_ORIGINS="https://example.com,http://localhost:3000"
    # ALLOWED_ORIGINS="*" \
    # 缓存过期时间（秒），默认4小时（14400秒）
    # 可以根据需要修改此值，例如：
    # 1小时: 3600
    # 2小时: 7200
    # 6小时: 21600
    # 12小时: 43200
    # 24小时: 86400
    CACHE_EXPIRY=14400

# 安装系统依赖
RUN sed -i 's@deb.debian.org@mirrors.aliyun.com@g' /etc/apt/sources.list.d/debian.sources && \
    apt-get update && apt-get install -y --no-install-recommends \
    gcc \
    python3-dev \
    && rm -rf /var/lib/apt/lists/*

# 复制项目文件
COPY . .

# 安装Python依赖
RUN pip install --no-cache-dir --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/ && \
    pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ && \
    pip install --no-cache-dir . -i https://mirrors.aliyun.com/pypi/simple/
# 暴露端口
EXPOSE 8000

# 定义启动命令
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

# podman build -t quay.io/wuyunq/akshare-one-api:latest .
# podman push quay.io/wuyunq/akshare-one-api:latest
# docker run -it --rm --name akshare-one-api -p 8000:8000 quay.io/wuyunq/akshare-one-api:latest
# 使用自定义跨域来源运行
# docker run -it --rm --name akshare-one-api -p 8000:8000 -e ALLOWED_ORIGINS="https://example.com,http://localhost:3000" quay.io/wuyunq/akshare-one-api:latest

